package com.qm.lambda;

import org.junit.Test;

import java.util.function.Consumer;

public class Chp01 {
    // 用于接口中只有1个方法
    // 方法没有参数,没有返回值, 线程的runable 接口,只有1条语句
    @Test
    public void test1() {
        Runnable runnable1 = new Runnable() {
            @Override
            public void run() {
                System.out.println("我执行的run 方法");
            }
        };
        Runnable runnable2 = () -> System.out.println("lambda 我执行的run 方法");
        runnable1.run();
        runnable2.run();
    }

    // 方法没有参数,没有返回值, 线程的runable 接口,多条语句 必须有{}
    @Test
    public void test2() {
        Runnable runnable1 = new Runnable() {
            @Override
            public void run() {
                System.out.println("我执行的run 方法");
                System.out.println("我是其他的语句");
            }
        };
        Runnable runnable2 = () -> {
            System.out.println("lambda 我执行的run 方法");
            System.out.println("我是其他的语句");
        };
        runnable1.run();
        runnable2.run();

    }

    // 方法中带 1个参数
    @Test
    public void test3() {
        Consumer consumer = new Consumer() {
            @Override
            public void accept(Object o) {
                System.out.println("我执行了" + o);
            }
        };
        consumer.accept("青芒");

    }
}
